/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modele;

import java.io.FileInputStream;
import org.dbunit.DBTestCase;
import org.dbunit.IDatabaseTester;
import org.dbunit.JdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSet;
import org.dbunit.operation.CompositeOperation;
import org.dbunit.operation.DatabaseOperation;

/**
 *
 * @author Alex
 */
/**
 * Test unitaire de l'acces a la base boutique. Tous les tests
 * unitaires de DBUnit devront h�riter de cette classe au lieu
 * d'heriter de DBTestCase.
 */
public class LivretTestCase extends DBTestCase {
 /** Dataset representant la base de donnees initiale.
  * Cette methode est abstraite dans DBTestCase et peut etre implementee
  * de la meme facon pour tous les tests, d'ou sa place ici.
  */
  protected IDataSet getDataSet() throws Exception {
    return new FlatXmlDataSet(new FileInputStream("BD.xml"));
  }

  @Override
  /** Indispensable pour obtenir une connexion */
  protected IDatabaseTester newDatabaseTester() throws Exception {
    return new JdbcDatabaseTester(ConnexionBD.DRIVER_NAME, ConnexionBD.URL,
      ConnexionBD.USER, ConnexionBD.PASSWORD);
  }

  @Override
  /** Operation sur la base de donnees executee avant tout test */
  protected DatabaseOperation getSetUpOperation() throws Exception {
    DatabaseOperation result = new CompositeOperation(DatabaseOperation.TRUNCATE_TABLE,
      DatabaseOperation.INSERT);
    return result;
  }


}
